Gyroscope calibration is important to obtain accurate measurements of the orientation of a gyroscope as a function of time. The sensors of a gyroscope measure the angular velocity of a gyro to generate gyroscope signal as a function of time. The orientation of the gyroscope can be obtained by integrating the gyroscope signal throughout time, starting from a time instant when the orientation of the gyroscope is known. If the gyroscope signal, or gyro signal, contains a bias, the error in the computed orientation of the gyroscope caused by the bias accumulates over time through the integration of the gyro signal with respect to time. Thus, calibrating the gyroscope signal from the gyroscope is important for accurate determination of the orientation of the gyroscope.
During a time period in which the gyroscope is stationary and non-rotating, gyroscope bias can be estimated using simple methods such as averaging the gyroscope signal. When the gyroscope is stationary and not rotating, an average of the gyroscope signal over a period of time is expected to be zero. Thus, when the average of the gyroscope signal is not zero, the average is the bias that can be subtracted from the gyroscope signal to generate the calibrated gyroscope signal, such that the average of the calibrated gyroscope signal is zero.
A bias, even once determined, can change in time due to the changes in temperature or other environmental parameters. Thus, it is preferred to perform calibration periodically to remove bias from the gyroscope signal for accurate determination of gyroscope orientation.
In many practical situations, however, such simple methods for estimating gyroscope bias are not appropriate, since stationary data is often not available (e.g. when the gyro is constantly in motion). Additionally, there could be time constraints on estimating (or updating an estimate of) bias that do not allow the use of stationary data. In such situations, a more sophisticated method for estimating gyroscope bias that can be used while device is in motion is needed.